home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / BUTTEST.ARJ / GRAPHBUT.PAS < prev    next >
Pascal/Delphi Source File  |  1992-01-31  |  4KB  |  112 lines

  1. Program Button_Test;
  2.  
  3. Uses
  4.     Crt,Graph,Mouse,Button3,Cursors;
  5.  
  6. Var
  7.    GMouse : GraphicMouse;
  8.    TMouse : TextMouse;   {Only for reinitializing at end of program}
  9.    mButton : position;
  10.    GButton : array[1..10] of Button;
  11.    Exit,Status : boolean;
  12.    Gdriver,Gmode,Gerror,I,J,SButtons,BtnCount : integer;
  13.  
  14. {*************************************************************************}
  15.  
  16. Procedure Init_Buttons;
  17. Var
  18.    I : integer;
  19.    TempStr : string[2];
  20. Begin
  21.      for I := 1 to 5 do
  22.          with GButton[I] do
  23.          begin
  24.               Str(I:2,TempStr);
  25.               Init;
  26.               SetButtonType(Rounded);
  27.               Create((I-1)*110+10,(I-1)*50+10,100,40,I+8,' Test'+TempStr);
  28.          end;
  29.      GButton[6].Init;
  30.      GButton[6].SetButtonType(ThreeD);
  31.      GButton[6].Create(10,260,100,40,White,'Quit');
  32.  
  33.      GButton[7].Init;
  34.      GButton[7].SetButtonType(ThreeD);
  35.      GButton[7].Create(0,400,100,40,Blue,'SWORD');
  36.  
  37.      GButton[8].Init;
  38.      GButton[8].SetButtonType(ThreeD);
  39.      GButton[8].Create(GetMaxX div 4,400,100,40,Blue,'GLOVE');
  40.  
  41.      GButton[9].Init;
  42.      GButton[9].SetButtonType(ThreeD);
  43.      GButton[9].Create(GetMaxX div 2,400,100,40,Blue,'CHECK');
  44.  
  45.      GButton[10].Init;
  46.      GButton[10].SetButtonType(ThreeD);
  47.      GButton[10].Create(GetMaxX*3 div 4,400,100,40,Blue,'HAMMER');
  48.  
  49. End;
  50.  
  51. {*************************************************************************}
  52.  
  53.  
  54. BEGIN
  55.      Gdriver := detect;
  56.      InitGraph(Gdriver,Gmode,'f:\bgi');
  57.      Gerror := GraphResult;
  58.      if Gerror <> GrOk then
  59.      begin
  60.           Writeln('Graphics Error: ',GraphErrorMsg(Gerror));
  61.           Writeln('Program Aborted....');
  62.           Halt(1);
  63.      end;
  64.      ClearDevice;
  65.      Init_Buttons;
  66.      GMouse.Reset(Status,BtnCount);
  67.      Exit := False;
  68.      for I := 1 to 10 do
  69.           GButton[I].Init;
  70.      if Status then     {we have a mouse!}
  71.      begin
  72.           GMouse.Initialize;
  73.           GMouse.SetCursor(ARROW);
  74.           Repeat
  75.                 GMouse.QueryBtnDn(ButtonL,mButton);
  76.                 if mButton.OpCount > 0 then
  77.                 begin
  78.                      GMouse.Show(False);
  79.                      for I := 1 to 10 do
  80.                          if (GButton[I].State) then
  81.                             GButton[I].Invert;
  82.                      for I := 1 to 10 do
  83.                          if GButton[I].ButtonHit(mButton.Xpos,
  84.                                                  mButton.Ypos) then
  85.                          begin
  86.                               GMouse.Show(True);
  87.                               Sound(I*220);
  88.                               Delay(100);
  89.                               NoSound;
  90.                               Delay(100);
  91.                               Sound(I*110);
  92.                               Delay(100);
  93.                               NoSound;
  94.                               if I = 6 then
  95.                                  Exit := True;
  96.                               if I = 7 then
  97.                                  GMouse.SetCursor(SWORD);
  98.                               if I = 8 then
  99.                                  GMouse.SetCursor(GLOVE);
  100.                               if I = 9 then
  101.                                  GMouse.SetCursor(CHECK);
  102.                               if I = 10 then
  103.                                  GMouse.SetCursor(HAMMER);
  104.                          end;
  105.                      GMouse.Show(True);
  106.                 end;
  107.           Until Exit;
  108.      end;
  109.      CloseGraph;
  110.      TMouse.Initialize;  {Reset text mouse cursor}
  111.      ClrScr;
  112. END.